package com.requiem.hist_group_manage_springboot.constants;

/**
 * 系统通用常量类
 * 存储应用中使用的各种常量，按功能模块分组
 * 常量命名规则：全部大写，单词间用下划线分隔
 */
public final class SystemConstants {

    // 私有构造方法，防止实例化
    private SystemConstants() {
        throw new AssertionError("禁止实例化常量类");
    }

    // ====================================== 通用常量 ======================================
    /*
     * 1,加入小组  2,退出小组
     * */
    public static final Integer JOIN_GROUP = 1;
    public static final Integer EXIT_GROUP = 2;

    public static final Integer STUDENT_EVALUATION = 1;
    public static final Integer TEACHER_EVALUATION = 2;
    /**
     * 成功状态码
     */
    public static final int SUCCESS_CODE = 200;
    public static final String SUCCESS_MSG = "操作成功";
    /**
     * 参数错误
     */
    public static final int PARAM_ERROR = 400;
    public static final String PARAM_ERROR_MSG = "输入格式错误，请检查后重试";
    public static final String PARAM_SDCARD_ERROR_MSG = "填写错误，请重试";
    /**
     * 未授权（未登录）
     */
    public static final int UNAUTHORIZED = 401;
    public static final String UNAUTHORIZED_MSG = "请先登录";
    /**
     * 禁止访问（无权限）
     */
    public static final int FORBIDDEN = 403;
    public static final String FORBIDDEN_JOIN_MSG = "你已经被拉黑，暂时不能加入小组";
    public static final String FORBIDDEN_JOIN_EXPIRES_MSG = "你已进入冷却期";
    /**
     * 资源未找到
     */
    public static final int NOT_FOUND = 404;
    /**
     * 失败状态码
     */
    public static final int ERROR_CODE = 500;
    public static final String ERROR_MSG = "操作失败";
    /**
     * 数据重复
     */
    public static final int DATA_DUPLICATE = 502;
    public static final String DATA_DUPLICATE_MSG = "数据已存在，不能操作";
    public static final String DATA_DUPLICATE_GROUP_MSG = "已加入小组，不能重复加入";
    public static final String DATA_DUPLICATE_EXITGROUP_MSG = "未加入小组，无法退出";
    public static final String DATA_BLACK_MSG = "你已被拉黑，不能重复操作";
    /**
     * 数据不存在
     */
    public static final int DATA_NOT_EXIST = 503;

    /**
     * 用户名或密码错误
     */
    public static final int USERNAME_PASSWORD_ERROR = 602;
    public static final String USERNAME_PASSWORD_ERROR_MSG = "用户名或密码错误";
    /*
     * token过期，请重新登录
     * */
    public static final int USERNAME_TOKEN_ERROR = 603;

    // ====================================== 日期时间常量 ======================================
    /**
     * 日期格式：yyyy-MM-dd
     */
    public static final String DATE_FORMAT = "yyyy-MM-dd";
    /**
     * 日期时间格式：yyyy-MM-dd HH:mm:ss
     */
    public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss";

}
